home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1997 March
/
CHIP Mart 1997.iso
/
SesProg
/
CONVERT1.ZIP
/
CONVERT.DOC
< prev
next >
Wrap
Text File
|
1994-09-30
|
19KB
|
407 lines
Convert, (c) 1994 Jesus Villena, Spain
Universidad Politecnica de Valencia
Facultad de Informatica
INTERNET: jvillena@dsic.upv.es
usufi4@finf.upv.es
Version 1.3B
COPYRIGHT
This program is Freeware and may be distributed without any permission of
their author. Their development has been carried out by and for the INTERNET
collective. Collaborates in their improvement and amplification!!!
This software is provided as-is. Author makes no warranties on this program.
You use this software at your own risk.
INTRODUCTION
Convert is a MSDOS tool which serves in order to interchange samples between
several formats of sound. The translation between the several formats offers
the advantage of maintaining the majority of the present information in the
original file if this is possible, i.e. name, loop points, significant
number of bits, number of channels, etc.
MOTIVATION
Convert surged like a domestic project destined to the obtaining of high
quality instruments for the Gravis Ultrasound card starting with files
from professional samplers (Ensoniq EPS, Roland [S] 50, Yamaha TX16W...)
The source code was designed so that out easy their amplification to more
formats. In fact, soon the formats of the most well-known modules were added
(MOD, MTM, FAR, S3M...). A little later they were added the MIDI standard
formats (SDS and SDX) and other formats offered by several manufacturers
(AIFF, IFF, SMP...).
At the same time that was added more available formats for the input files,
these same formats, if it was possible, they were available also like
output, so that virtually, any input format would be converted in any
output format.
FEATURES
- Great quantity of input and output formats: seeing list.
- Automatic recognition of the input format: it is not necessary
specify the type of the input file, Convert detects it automatically.
- Possibility of converting in one pass great quantity of files and
carry them to some target directory: They are accepted wildcards
in order to specify the input files, and a output directory which
will be filled with the resulting files.
- Ease of use: their utilization is clearly intuitive in order to avoid
remember difficult combinations of input parameters (for example,if you
want to use the samples that there is in a file ". PAT" in order to
utilize them in a module ". MOD", simply specifies -MOD as switch and
Convert translate each one of the waveforms to the format ". SAM"
readable for all the mod-editors, without specifying if it is SIGNED or
UNSIGNED...)
- The program may work with input files of until 16 bits and
2 channels (Stereo), doing the necessary conversion of these values for
generating the output format (this is,a WAV file of 16 bits Stereo will
be converted in 8 bits Mono upon converting it to VOC, for example).
- High probability of success: This program has converted with success
98% of files I have (others conversion programs generated many errors).
Especially I have all GKH and AIFF files on ftp.reed.edu (now on
oak.oakland.edu) and it has converted all very well (except some files
that was corrupted originally).
NEW!! - Varios Keyboard Disk Images have been added: Directly supports the
disk image formats GKH and Giebler Enterprises (both are the most
common in the internet) for VFX-SD, SD-1, TS-10 (DD y HD), VFX-SD, EPS
(normal, 16 and 16+), and ASR keyboards and racks units. Convert
doesn't need, as a difference to other programs, external programs for
converting these disk images.
NEW!! - It Comes in this version with some useful utilities: SND2WAV and JOIN
SND2WAV converts files that can't carry out Convert (files without
header) and JOIN links pieces which form a unique sample disk for
Kurzweil and Ensonig formats.
CHANGE - LoopPoints and WaveSample Length shows samples, nor bytes, similary
to other packages. Sizes are still in bytes.
NEW!! - A new experimental format has been added, SBK for SoundBlaster AWE32
users. This format is supported as input and output, but is limited,
due to unknowing of many features in this format (this is experimental
because its development has been carry out investigating inside some
files in this format).
FORMAT IDENTIFICATION
The formats which Convert works in this version are the following:
669 669 Tracker Module
AIFF Audio Interchange Format File (AIFF)
AU Sun/Next Audio File
DMF Delusion Digital Music File
DSF Delusion Digital Sound File
DSM Digital Sound Module
FAR Farandole Composer Module
FSM Farandole Composer WaveSample
F2R Farandole Linear Module
F3R Farandole Blocked Linear Module
GKH, ED? Ensoniq Disk Image (VFX, SD, EPS, ASR, TS)
IFF Interchange Format File (IFF)
INS, EF? Ensoniq Instrument File
KRZ Kurzweil K2000 File
MED MED/OctaMED Module
MOD Protracker/Fastracker/Startrekker Module
MTM MultiTracker Module
OKT Oktalizer Module
PAC SBStudio II Package or Song
PAT Gravis Ultrasound Patch
PSM Protracker Studio Module
RAW PCM Signed Raw Sound File
SBK Emu SoundFont Bank (AWE32 Bank)
SDK Roland S-550/S-50/W-30 Disk Image
SDS MIDI Sample DUMP Standard File
SDX Sample DUMP Exchange File
SF IRCAM Sound File"
SMP Samplevision File
SND PCM Unsigned Raw Sound File
SOU SBStudio II Sound File
STM Scream Tracker 1 & 2
S3I, SMP Digiplayer/ST3 Sample File
S3M Scream Tracker v3 Module
TXW Yamaha TX-16W Wave File
ULT UltraTracker Module
UNI UNIMOD Module
UWF UltraTracker WaveSample
VOC Creative Lab's Sound File
WAV Microsoft Windows RIFF WAVE
SYNTAX
The form of invoking to this tool is the following:
CONVERT [[InputPath/@SearchFile] [OutputPath] [OutFmt] [Switches]]
Where:
InputPath is the name of the files to convert. InputPath consists of a route
and a file name, which accept the usual wilcards of DOS. Examples of
InputPath would be: \SAMPLES\*.*, ..\SAMPLES\ENSONIQ\*.INS, SAMPLE?.*, etc.
SearchFile is optional to InputPath and is a text file which let you specify
files to convert, one file path in each line. Comments can be included behind
simbol #. Order can be achieved also specifying number=filepath. This order
is supplied mainly to support AWE32 program numbers, although is valid for
the rest of formats. E.g:
---File sample.ini---
# Sample File to obtain the bank sample.bank
# Use convert @sample.ini -sbk
0=c:\sounds\bdrum1.wav
1=c:\insts\snare2.aif
8=d:\krz\voices.krz
# This bank will have the sound bdrum1.wav as program 0
# the sound snare1.aif as program 1
# and sounds included in voices.krz as programs 8,9,...
OutputPath specifies the destination directory where Convert will place the
files converted. If this directory don't exist, Convert creates it.
OutFmt is a switch that allows to specify the output format for the files
to convert to.
Switches are -8 and -1 , and serves actually to force 8 bits and mono
conversion.
OutFmt may be one of the following:
OutFmt Extension Offered Feautures
------ --------- --------------------------------------------------
-669 ".snd" PCM Unsigned Raw, 8 bits, Mono
-AIF ".aif" 8/16 bits, Mono/Stereo, Rate, Loop
-AU ".au" 8/16 bits LINEAR, Mono/Stereo, Rate
-DMF, -DSF ".dsf" 8/16 bits, Mono, Rate, Loop
-FAR, -FSM ".fsm" 8/16 bits, Mono, Loop
-IFF ".iff" 8 bits, Mono, Rate
-MOD ".sam" PCM Signed Raw, 8 bits, Mono
-MTM ".raw" PCM Unsigned Raw, 8/16 bits, Mono
-PAC, -SOU ".sou" 8/16 bits, Mono, Loop
-PAT ".pat" 8/16 bits, Mono, Rate, Loop, Multiple Waveforms
-RAW ".raw" PCM Signed Raw, 8/16 bits INTEL, Mono/Stereo
-SBK ".sbk" 16 bits, Mono, Loop
-SDS ".sds" 8/16 bits, Mono, Rate, Loop
-SDX ".sdx" 8/16 bits, Mono, Rate, Loop
-SF ".sf" 8/16 bits, Mono/Stereo, Rate
-SMP ".smp" 16 bits, Mono, Rate, Loop
-SND ".snd" PCM Unsigned Raw, 8/16 bits INTEL, Mono/Stereo
-S3M, -S3I ".smp" 8/16 bits, Mono/Stereo, Rate, Loop
-UWF, -ULT ".uwf" 8/16 bits, Mono, Loop
-VOC ".voc" 8 bits, Mono, Rate
-WAV ".wav" 8/16 bits, Mono/Stereo, Rate, Loop
-OUT depends variable (see notes)
Notes:
If you run Convert without parameters, the program shows a small help.
If you have specified only InputPath (or SearchFile) , the program shows
information on the contents of the input files (sample name, number of Bits,
number of channels, loop points, etc...)
If you haven't specified OutputPath, it will use the current directory as
target.
The output file generated acquires the same name that the input file, if
this has a waveform. If the input file has various waveforms, the name of
each file generated is the original name adding an index that differentiates
it of the others (Caution: this may override existing files with equal names).
If the output format is SBK, the file generated will be named sample.sbk,
except if you use the @SearchFile option to specify file paths; in this
case the name of the ouput file will be the same of the @SearchFile with
".sbk" as extension.
Could happen that the file converted doesn't have the loop points very well
definite; I could secure that in many cases in that this has happened me,
it was an appropriate defect of the original file, no due to the conversion.
The switch -OUT has a special meaning and it is only accessible from some
formats. Basically its meaning is to extract all the waveforms that there is
in the input file to individual files, with the same format (or of it same
"family") that the initial. Logically, this switch only is available for
that formats that may have multiple waveforms on an only file:
GKH --> INS (they are extracted the contained files in the file GKH)
PAT --> PAT (each WaveForm is converted into a new PAT file)
ULT --> UWF
FAR --> FSM
669 --> SND (each instrument to PCM RAW 8 bits Unsigned)
S3M --> S3I
MTM --> RAW (each instrument to PCM RAW 8/16 bits Unsigned)
MOD --> SAM (each instrument to PCM RAW 8 bits Signed)
PAC --> SOU
ACKNOWLEDGED INPUT FORMATS
So that a file may be automatically acknowledged, It should have a header
that define it. For it, the files with format PCM RAW is not accepted like
valid input formats (this format are supported using sound2wav utility).
The following they are the valid input formats for this version:
Format Acknowledged Characteristics
-------- --------------------------------------------------------
669 Several waveforms, 8 bits Mono, Loop, Name, Text
AIFF 1 waveform, 1..16 bits, Mono/Stereo, Rate, Loop, Name, Text
AU 1 waveform, 8/16 bits LINEAR/ULAW, Mono, Rate, Text
DMF Several waveforms, 8/16 bits Mono, Rate, Loop, Name, Text
DSF 1 waveform, 8/16 bits Mono, Rate, Loop, Name
DSM Several waveforms, 8 bits Mono, Rate, Loop, Name, Text
FAR Several waveforms, 8/16 bits Mono, Loop, Name, Text
FSM 1 waveform, 8/16 bits Mono, Loop, Name
F2R Several waveforms, 8/16 bits Mono, Loop, Name, Text
F3R Several waveforms, 8/16 bits Mono, Loop, Name, Text
GKH, INS Several waveforms, 16 bits Mono, Rate, Loop, Name
IFF 1 waveform, 8 bits, Mono/Stereo, Rate, Name, Text
KRZ Several waveforms, 16 bits Mono, Rate, Loop, Name
MED Several waveforms, 8 bits Mono, Loop, Name, Text
MOD Several waveforms, 8 bits Mono, Loop, Name, Text
MTM Several waveforms, 8/16 bits Mono, Loop, Name, Text
OKT Several waveforms, 8 bits Mono, Loop, Name
PAC Several waveforms, 8/16 bits Mono, Loop, Name, Text
PAT Several waveforms, 8/16 bits Mono, Rate, Loop, Name, Text
PSM Several waveforms, 8/16 bits Mono, Loop, Name, Text
SBK Several waveforms, 16 bits Mono, Loop, Name, Text
SDK Several waveforms, 12 bits Mono, Rate, Loop, Name, Text
SDS 1 waveform, 1..16 bits Mono, Rate, Loop
SDX 1 waveform, 1..16 bits Mono, Rate, Loop, Name, Text
SF 1 waveform, 1..16 bits LINEAR, Mono/Stereo, Rate, Text
SMP 1 waveform, 16 bits Mono, Rate, Loop, Name, Text
SOU 1 waveform, 8/16 bits Mono, Loop, Name
STM Several waveforms, 8 bits Mono, Rate, Loop, Name, Text
S3I 1 waveform, 8/16 bits, Mono/Stereo, Rate, Name
S3M Several waveforms, 8/16 bits, Mono/Stereo, Rate, Loop, Name, Text
TXW 1 waveform, 12 bits Mono, Rate
ULT Several waveforms, 8/16 bits Mono, Rate, Loop, Name, Text
UNI Several waveforms, 8/16 bits, Mono/Stereo, Loop, Name, Text
UWF 1 waveform, 8/16 bits Mono, Rate, Loop, Name, Text
VOC 1 waveform, 8 bits Mono, Rate, Loop, Text
WAV 1 waveform, 1..16 bits, Mono/Stereo, Rate, Loop, Name, Text
NOTES
The GKH format accept Giebler Enterprises image format. The first class files
have ".gkh" extension and include various Ensoniq formats. The second class
have ".ed?" extension, where ? is character which indicates disk tipe (e.g.
".eda" is a ASR disk image file of Giebler Enterprises, ".edt" es a TS-10 disk
image,...). These formats basically are an Ensoniq disk image. For it, when
Convert has to carry out the conversion to other formats, first the internal
files are converted to MSDOS files (INS) and subsequently the conversion is
carried out. I recommend you use the -OUT option with this format in order
to avoid this process every time this file is accesed.
The INS and KRZ formats support multisample instruments , this is, it allows to
assign various waveforms to several ranges of the MIDI keyboard. This feature
is supported upon converting it to PAT if and only if the ranges are not
overlapped. In this way, a complete percussion kit for example would generate
simply one multisample PAT file.
All formats supported can view its internals, although it is compressed or
packed. An error will be displayed if you wants to extract the waves in some
file with unsupported compression or packing.
KRZ format supports stereo waveforms, but this version of convert don't
recognize it, and some waves are incorrectly converted (sounds at lower pitch).
The SBK format for output in this version only supports an unique wavesample
for each instrument (multiwave instrument will be splitted) and does not
support correct samplerate nor keyboard ranges (I need more info). Furthermore,
convert only will display instruments which WaveSamples are in the RAM area,
do not display ROM based WaveSamples because they cannot be extracted (for
this reason, synthgm.sbk which come with SoundBlaster AWE32 don't display
nothing, this bank uses only the General Midi Set stored in the ROM area of
the board and the file only contains instrument info).
I have included the Searchfile (@filename) in this version mainly to let you
to specify which files will compound the SBK bank and which programs will
play each sound. This can be achieved using 'number=sound' (like ultrasnd.ini
but using full path names). Files with multiples waves can missunderstand the
number choosed (only in SBK conversion), E.g:
1=tr808.gkh
2=kiss.wav
if for example tr808.gkh has 15 wavesamples, it will be played through programs
1 to 15. The user wants kiss.wav into program 2, but it can't be because
this is in use already. The program seek an available program (16) and assign
it to kiss.wav.
How to use SBK banks generated with convert?
Once you have obtained a SoundFont Bank (E.g."sample.sbk") you have to download
it into the AWE memory.
First, fill the "USER=" field of the "[AWE32] section
of your "sbwin.ini" file, at windows directory, with the path to the bank
generated (E.g."USER=C:\SB16\SFBANK\sample.sbk").
Second, inside Windows click at the AWE Control Panel and find "User Custom
Synth" in the Synthesizer Bank section. Later click on Stablish and if you
have memory enough, you will have the sounds in the memory.
You can now use Sequencer programs to sound the samples, specifing anyone
program number you have specified.
GRATEFULNESS
I thank the disinterested help of Cris-(tobal) in the previous phase test
and his contribution of formats, as well as all anonymous sources of where
I have gotten the specifications of the formats. I am Sorry for my SPAnglish.
PETITIONS
Since I commented at first, this tool surged with ideas of expansion. For it
I request to all users that is interested in including other formats to the
program, that they will send to me a description of the format, and if it
is possible, some file(s) for testing.
The SBK format of the SoundBlaster AWE32 is supported, but I unknown many
of the features it can be included. If you get some technical information
about this format or AWE32 capabilities and programming, please send it to me.
Also, I would desire you mail-me any bug or possible improvements of
the program to jvillena@dsic.upv.es or usufi4@finf.upv.es
START NOW
To start to delight with new and vibrant sounds, this is a small list
where you will find them through the INTERNET. Personally, I have more
than 200 Mbytes of this sounds!!!
GKH, INS, EFE, AIFF: ftp.reed.edu in /eps
oak.oakland.edu in /pub2/eps
TXW: ftp-ls7.informatik.uni-dortmund.de in /pub/tx16w
SDK: lotus.UWaterloo.ca in /pub/sgroup
SDS, SDX: alf.uib.no in /pub/sds
sweaty.palm.cri.nz in sds
PAT: archive.epas.utoronto.ca in /pub/pc/ultrasound
wuarchive.wustl.edu in /systems/ibmpc/ultrasound
KRZ: ftp.uwp.edu in /pub/music/lists/kurzweil
cs.utk.edu in /pub/martin/K2000
bach.nevada.edu in /pub/K2000
EMAX (future): sweaty.palm.cri.nz in EMAX
You will find a wider list on ftp.cs.ruu.nl in the file /pub/MIDI/DOC/archives
HAPPY CONVERSION!!!!!